package org.gy.T11.t2;

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.util.Scanner;

/**
 * ⽬标：完成UDP通信快速⼊⻔：实现客户端反复的发。
 */
public class Client {
    public static void main(String[] args) throws Exception {
// 1、创建客户端对象（发⾲菜出去的⼈）
        DatagramSocket socket = new DatagramSocket();
        // 2、创建数据包对象封装要发出去的数据（创建⼀个⾲菜盘⼦）
/* public DatagramPacket(byte buf[], int length,
InetAddress address, int port)
参数⼀：封装要发出去的数据。
参数⼆：发送出去的数据⼤⼩（字节个数）
参数三：服务端的IP地址（找到服务端主机）
参数四：服务端程序的端⼝。
*/
        Scanner sc = new Scanner(System.in);
        while (true) {
            System.out.println("请说：");
            String msg = sc.nextLine();
// ⼀旦发现⽤户输⼊的exit命令，就退出客户端
            if("exit".equals(msg)){
                System.out.println("欢迎下次光临！退出成功！");
                socket.close(); // 释放资源
                break; // 跳出死循环
            }
            byte[] bytes = msg.getBytes();
            DatagramPacket packet = new DatagramPacket(bytes, bytes.length
                    , InetAddress.getLocalHost(), 6666);
// 3、开始正式发送这个数据包的数据出去了
            socket.send(packet);
        }
    }
}
